/*----------------------------------------------------------------------------*\
|
|						Public Interface to Muse Technology
|
|							     www.Muse.com
| Author : SunJun 
| Email : sundoom@msn.com
\*----------------------------------------------------------------------------*/

//////////////////////////////////////////////////////////////////////////
// $Id: View.h,v 1.2 2009/04/03 12:51:25 sunjun Exp $
//////////////////////////////////////////////////////////////////////////

#ifndef __View__
#define __View__

//////////////////////////////////////////////////////////////////////////

#if defined __cplusplus

//////////////////////////////////////////////////////////////////////////

#include <MReference.h>

//////////////////////////////////////////////////////////////////////////

NAMESPACE_BEGIN

//////////////////////////////////////////////////////////////////////////

	// this class provides an object-oriented view interface.
	class API View : public MReference
	{	
	public:
		// constructor
		View();
		
		// destructor
		virtual ~View();	

		// set the clear value
		INLINE VOID set();

		// projection du point (objx,objy,obz) sur l'ecran (winx,winy,winz)
		VOID project( const Vector3& obj, Vector3& win );

		// transformation du point ecran (winx,winy,winz) en point objet
		VOID unproject( const Vector3& win, Vector3& obj );

	private:
	};

	typedef MPtr<View>ViewPtr;

//////////////////////////////////////////////////////////////////////////

NAMESPACE_END

//////////////////////////////////////////////////////////////////////////

#endif // __cplusplus

//////////////////////////////////////////////////////////////////////////

#endif // __Clear__

//////////////////////////////////////////////////////////////////////////